home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / nrpas13.zip / SVDVAR.DEM < prev    next >
Text File  |  1991-04-29  |  2KB  |  64 lines

  1. PROGRAM d14r5(input,output);
  2. (* driver for routine SVDVAR *)
  3. CONST
  4.    np=6;
  5.    ma=3;
  6.    ncvm=ma;
  7. TYPE
  8.    glnpbynp = ARRAY [1..np,1..np] OF real;
  9.    glnparray = ARRAY [1..np] OF real;
  10.    glcvm = ARRAY [1..ncvm,1..ncvm] OF real;
  11.    mabyma = ARRAY [1..ma,1..ma] OF real;
  12. VAR
  13.    i,j : integer;
  14.    v : glnpbynp;
  15.    w : glnparray;
  16.    cvm : glcvm;
  17.    tru : mabyma;
  18.  
  19. (*$I MODFILE.PAS *)
  20. (*$I SVDVAR.PAS *)
  21.  
  22. BEGIN
  23.    w[1] := 0.0; w[2] := 1.0; w[3] := 2.0;
  24.    w[4] := 3.0; w[5] := 4.0; w[6] := 5.0;
  25.    v[1,1] := 1.0; v[1,2] := 1.0; v[1,3] := 1.0;
  26.    v[1,4] := 1.0; v[1,5] := 1.0; v[1,6] := 1.0;
  27.    v[2,1] := 2.0; v[2,2] := 2.0; v[2,3] := 2.0;
  28.    v[2,4] := 2.0; v[2,5] := 2.0; v[2,6] := 2.0;
  29.    v[3,1] := 3.0; v[3,2] := 3.0; v[3,3] := 3.0;
  30.    v[3,4] := 3.0; v[3,5] := 3.0; v[3,6] := 3.0;
  31.    v[4,1] := 4.0; v[4,2] := 4.0; v[4,3] := 4.0;
  32.    v[4,4] := 4.0; v[4,5] := 4.0; v[4,6] := 4.0;
  33.    v[5,1] := 5.0; v[5,2] := 5.0; v[5,3] := 5.0;
  34.    v[5,4] := 5.0; v[5,5] := 5.0; v[5,6] := 5.0;
  35.    v[6,1] := 6.0; v[6,2] := 6.0; v[6,3] := 6.0;
  36.    v[6,4] := 6.0; v[6,5] := 6.0; v[6,6] := 6.0;
  37.    tru[1,1] := 1.25; tru[1,2] := 2.5; tru[1,3] := 3.75;
  38.    tru[2,1] := 2.5; tru[2,2] := 5.0; tru[2,3] := 7.5;
  39.    tru[3,1] := 3.75; tru[3,2] := 7.5; tru[3,3] := 11.25;
  40.    writeln;
  41.    writeln('matrix v');
  42.    FOR i := 1 to np DO BEGIN
  43.       FOR j := 1 to np DO write(v[i,j]:12:6);
  44.       writeln
  45.    END;
  46.    writeln;
  47.    writeln('vector w');
  48.    FOR i := 1 to np DO write(w[i]:12:6);
  49.    writeln;
  50.    svdvar(v,ma,np,w,cvm,ncvm);
  51.    writeln;
  52.    writeln('covariance matrix from svdvar');
  53.    FOR i := 1 to ma DO BEGIN
  54.       FOR j := 1 to ma DO write(cvm[i,j]:12:6);
  55.       writeln
  56.    END;
  57.    writeln;
  58.    writeln('expected covariance matrix');
  59.    FOR i := 1 to ma DO BEGIN
  60.       FOR j := 1 to ma DO write(tru[i,j]:12:6);
  61.       writeln
  62.    END
  63. END.
  64.